﻿<?xml version="1.0" encoding="utf-8" ?>

<Rules FriendlyName="Bovespa Usage Rules">
  
  <Rule TypeName="BovespaAvoidUseGoToStatement" Category="BovespaAvoidUseGoToStatement" CheckId="BOV2502">
    <Name>Check BovespaAvoidUseGoToStatement</Name>
    <Description>Check BovespaAvoidUseGoToStatement</Description>
    <Url></Url>
    <Resolution Name="AvoidUseGoToStatementResolution">'Goto' statements should be avoided completely in .NET. Class: {0}. Element: {1}. Namespace: {2}</Resolution>
    <MessageLevel Certainty="100">Error</MessageLevel>
    <Email></Email>
    <FixCategories>Breaking</FixCategories>
    <Owner>BMFBovespa</Owner>
  </Rule>

  <Rule TypeName="BovespaVariablesAtSameCodeBlock" Category="BovespaVariablesAtSameCodeBlock" CheckId="BOV5005">
    <Name>Check Bovespa Variables At Same Code Block</Name>
    <Description>Check Bovespa Variables At Same Code Block</Description>
    <Url></Url>
    <Resolution Name="BovespaVariablesAtSameCodeBlockResolution">All variables must be declared at the block initialization. Class: {0}. Element: {1}. Namespace: {2}</Resolution>
    <MessageLevel Certainty="100">Error</MessageLevel>
    <Email></Email>
    <FixCategories>Breaking</FixCategories>
    <Owner>BMFBovespa</Owner>
  </Rule>

  <Rule TypeName="BovespaDoNotOperateLoopControl" Category="BovespaDoNotOperateLoopControl" CheckId="BOV5007">
    <Name>Bovespa Do Not Operate Loop Control</Name>
    <Description>Bovespa Do Not Operate Loop Control</Description>
    <Url></Url>
    <Resolution Name="BovespaDoNotOperateLoopControlResolution">Avoid operations that assign values to the variable that controls the 'For' loop. Class: {0}. Method: {1}. Namespace: {2}</Resolution>
    <MessageLevel Certainty="100">Error</MessageLevel>
    <Email></Email>
    <FixCategories>Breaking</FixCategories>
    <Owner>BMFBovespa</Owner>
  </Rule>
  
</Rules>